package org.uk.splitsbrowser.client.presenter;

import java.util.List;

import org.uk.splitsbrowser.client.presenter.OEventService.ResultsImportFormat;
import org.uk.splitsbrowser.shared.OEvent;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface OEventServiceAsync {
	void saveEvent(OEvent event, AsyncCallback<Void> callBack);
	
	void newEvent(OEvent event, AsyncCallback<String> callBack);
	
	void deleteEvent(String eventKey,  AsyncCallback<Void> callBack);
	
	void queryEvent(String queryString, int offset, int count, AsyncCallback<List<OEvent>> callBack);

	void getEvent(String eventkey, AsyncCallback<OEvent> callBack);
	
	void uploadResults(OEvent event, ResultsImportFormat format, String filename, AsyncCallback<Void> callBack);
	
	void uploadMap(OEvent event, String filename, AsyncCallback<Void> callBack);
	
	void uploadCourses(OEvent event, String filename, AsyncCallback<Void> callBack);

}
